import utils.LineTableUtil;

/**
 * 顺序线性表应用
 */
public class LineTableApplication {
    public static void main(String[] args) {
        // TODO: 2023/11/6 数组长度为：10
        // TODO: 2023/11/6 final表示，只能赋值一次，赋值后就不能再修改
        final int size = 10;
        final int updateValue = 61;
        final int defaultValue = -1;
        final int site = 4;
        final int value = 50;

        // TODO: 2023/11/6 实例化对象
        final LineTableUtil lineTableUtil = new LineTableUtil(size);
        // TODO: 2023/11/6 初始化顺序线性表
        lineTableUtil.iniSortArray();
        // TODO: 2023/11/6 打印顺序表
        System.out.println("初始化顺序线性表");
        lineTableUtil.printArrays();
        // TODO: 2023/11/6 指定位置插入新元素
        System.out.println();
        System.out.println(String.format("预计插入位置：%d，值为：%d", site, value));
        if (lineTableUtil.insertNewData(site, value)) {
            lineTableUtil.printArrays();
        } else {
            System.out.println("插入位置不合法！");
        }
        // TODO: 2023/11/6 根据值，删除元素
        System.out.println();
        System.out.println(String.format("预计删除值为：%d的元素", 8));
        if (lineTableUtil.deleteDataByValue(8, defaultValue)) {
            lineTableUtil.printArrays();
        } else {
            System.out.println(String.format("未找到值为：%d的元素", 8));
        }
        // TODO: 2023/11/6 根据序号修改元素值
        System.out.println();
        System.out.println(String.format("预计修改位置：%d，修改值为：：%d", 2, updateValue));
        if (lineTableUtil.updateData(2, updateValue)) {
            lineTableUtil.printArrays();
        } else {
            System.out.println("修改位置不合法！");
        }

    }
}
